The subject matter described herein generally relates to applications comprised of content that is an amalgamation from multiple sources. In particular, certain subject matter presented herein relates to mashups. In addition, certain subject matter presented herein involves mobile device mashups involving the integration of telecom functionality, third party web services, and content and functionality available on the device.
Most modern mobile devices today have browsers that are HTML and JavaScript® standards compliant, and provide a rich, powerful web browsing experience to mobile users. The evolution of web browser functionality on mobile devices is the driving force for “mobile mashups,” where content rendered on a device is amalgamated from multiple web sources. Such mashups can be enhanced to incorporate features unique to a mobile setting. One example is native device features, such as location and calendar information, camera, or Bluetooth, available on a mobile device platform. Another example is core telecom network functionality, such as SMS and Third Party Call Control (3PCC), exposed as services in a converged IP/web network setup.
A large number of web accessible services publish their data and offerings in the form of open interfaces for the developer community. Mashups are applications that create new innovative services by integrating such interfaces from multiple sources, and have become very popular in recent years. Although in the beginning, mashups were primarily created for desktop-based browsers, they are quickly gaining traction in the mobile domain as well. Adoption of mobile device mashups is driven in large part by the evolution of web browsers on the mobile device. A large percentage of modern mobile devices, such as smart phones, have browsers that are HTML and JavaScript® standards compliant, and provide a rich, powerful web browsing experience. With rapid enhancements in computing power, memory, display and other features of mobile devices, and with continuous improvement in mobile network bandwidth, mobile mashups bear the potential of being as successful as the desktop versions.
To help developers rapidly create rich mobile applications, popular platform vendors offer extensive middleware support, such as access to the underlying operating system, middleware components, useful libraries and tools. In addition, most platforms also expose interfaces that provide access, from within the applications, to a variety of features available on the mobile handset. Such features include information (for example, user contacts, calendar, or geographic location) as well as functionality (for example, making calls, sending SMS messages, or using the device camera). Richer applications for a mobile platform can be composed by combining application logic with these features and functionalities. For example, using the location information available on the mobile phone, a number of useful location-based applications can be created, such as directory services or workforce management solutions. Another example involves utilizing a camera on the device with various mobile applications related to bar-code scanning and decoding. In many instances, it is most desirable that such device features be integrated with other web offerings to enhance the user's mashup experience.
Another trend relevant for mashups involves the willingness of telecom operators to move from a walled-garden model to an open-garden model. With telecom markets reaching saturation, revenue from voice calls is decreasing. In addition, alternate telecom operator services such as games, news, or ring tones are also facing strong competition from similar offerings provided by, for example, internet content providers. However, telecom operators are still unmatched in their core functionalities of location, presence, and call control. These functionalities are characterized further by carrier-grade Quality-of-Service (QoS) and high availability. As such, a potential revenue channel for telecom operators is to open these functionalities as services to developers for creating new innovative applications. For example, location and presence information from a telecom operator can be combined with offerings from social networking websites, to provide an enriched social networking mashup. Applied to mobile mashups, the opening up of a telecom network provides avenues for mashing these features with other services on the mobile web.
There currently exists an immense fragmentation in syntax and semantics of interfaces across various platforms. For example, on Android™, registration of a location alert leads to two sets of events: one for the device entering a proximity region, and the other associated with exiting. Android™ is a trademark of Google™ Inc. in the United States and other countries. In addition, multiple such events are generated, governed by an expiration period. On Nokia® S60®, on the other hand, only one event is generated when the device enters a proximity for the first time. Nokia® and S60® are trademarks or registered trademarks of the Nokia® Corporation in the United States and other countries. Furthermore, Android™ uses the Intent and IntentReceiver objects to realize a callback function for the alert mechanism, while S60® works through defining an implementation for the abstract ProximityListener class. There is also diversity in terms of the name of the interface, as well as in the name, data type and ordering of certain attached parameters. Moreover, the interfaces also differ in the set of exceptions thrown by the underlying platforms. As such, requirements for de-fragmentation arise because there is an inherent desire by platform vendors to differentiate their offerings from others, even though standardization efforts, such as J2ME®, exist in the mobile domain. J2ME® is a registered trademark of Oracle America, Inc.
The handling of network protocols associated with features of the telecom domain involves a high level of complexity. A number of legacy protocols exist in this domain, while new standards continue to be drafted and absorbed by different practitioners. For example, to help developers access telecom services without knowing the underlying protocol details, a standard called Parlay-X has been developed that exposes Web service interface for core Telecom functionalities. On similar lines, IP Multimedia Subsystem (IMS) provides a reference framework to expose these functionalities as services to web-engineered systems using the SIP standard. From a mashup creation perspective, this means that a developer has to deal with various Telecom specific protocols arising out of not only legacy implementations, but also different upcoming standards. To reduce the burden on the developer, an encapsulation model at the middleware level is needed that hides protocol specifics from the developer. Moreover, for a given functionality, this model should enable a seamless switch among different protocols. This is especially required in scenarios where the telecom networks are gradually evolving to move from legacy interfaces to standards like Parlay-X and SIP.
There are several professional tools in the industry that facilitate the creation of web based mashups. Examples are Yahoo!®, Pipes™, BEA AquaLogic®, and IBM® Lotus® Mashups. Yahoo!®, and Yahoo! Pipes™ are trademarks or registered trademarks of Yahoo! of Yahoo Inc. in the United States and other Countries. BEA AquaLogic® is a registered trademark of BEA Systems, Inc. IBM® Lotus® Mashups is a trademarks or registered trademark of International Business Machines Corporation in the United States, other countries, or both. Most of these tools provide a browser-based assembly portal where developers can choose services made available by different web service providers, and integrate them in a mashup, all driven by a simple visual user interface. Academic research on mashup tools has also been undertaken, including spreadsheet-based web mashups.
Device browser fragmentation is a major challenge for mobile mashups. For example, although the mobile platforms discussed herein, iPhone®, Android™, and S60®, all make use of the WebKit™ browser engine, each platform has adopted a different WebKit™ version, and has replaced or extended various browser subsystems. WebKit™ is a trademark of Apple Inc. in the United States and other countries iPhone® is a registered trademark of Apple Inc. in the United States and other countries. In addition, there are situations where certain user interface elements in the browser do not provide the same user experience on all platforms.
For example, regarding the scrolling features of a browser, a web page might have more than one element in the current view that requires scrolling, such as an embedded iframe. A user might need to scroll inside the iframe to view its contents, and also scroll the outer page. The touch screen interface on the Nokia® S60® devices allows the user to focus on individual elements on the page via the stylus and scroll inside those elements. The iPhone®, on the other hand, does not provide the ability to focus on individual elements and can scroll only the outer most browser frame via the flick gesture. In such cases, the developer either needs to use different user interface elements on different platforms, or build a set that works well on all platforms.
Most mobile “smart phone” platforms today provide native APIs for several services, such as GPS location, address book and contacts, calendar, accelerometer, camera, and video. Despite the general need for accessing similar services during cross-device application development, there is a considerable level of API fragmentation. For example, APIs for common services in J2ME-based platforms have also become fragmented on platforms that support new hybrid Java runtimes, such as Android™. Fragmentation is further exacerbated on non-Java based platforms like iPhone®, which currently uses the Object-C language and the Cocoa user interface library. Various standardization efforts, such as Bondi by OMTP Limited, attempt to overcome this fragmentation. Similarly, PhoneGap® is an effort towards enabling uniform JavaScript® access to native APIs. PhoneGap® is a registered trademark of Nitobi Software Inc.
Session Initiation Protocol (SIP) is a standard being widely adopted by telecom operators to expose their core functionalities, such as voice service, SMS service, and call control using SIP. JSR-289 has been proposed by Sun Microsystems®, Inc. and Ericsson® to enhance existing SIPServlet specification and support development of composed applications involving both HTTP and SIP servlets. Web21C from British Telecom is a Web 2.0 based service aggregation environment that allows developers to integrate core telecom functionality with other Web services into a single application.
One of the major challenges in the area of mobile applications is the huge privacy and security implication around sensitive user information like location, contacts and calendar entries. Locaccino by Zipano Technologies, Inc. is location sharing system that gives a user flexibility to create rules with varying complexity for configuring privacy settings. However, it is a specific application and its design does not cater to mobile mashups in general.
In addition, Brodt et al., The TELAR Mobile Mashup Platform for Nokia® Internet Tablets, Proceedings of 11th International Conference on Extending Database Technology (EDBT), Nantes, France, March 2008 presents a mobile mashup platform that integrates data from Web-based services on the server side and utilizes users' context information from sensors to adapt the mashup at the client side. However, this framework lacks a comprehensive approach required for incorporating the three-dimensional mobile setting outlined in this invention and is currently limited to certain Nokia® devices.